/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package com.losalpes.catalogo.entities;

import java.io.Serializable;
import java.util.Date;
import javax.persistence.Basic;
import javax.persistence.Column;
import javax.persistence.Embeddable;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

/**
 *
 * @author amocampo
 */
@Embeddable
public class RegistroVentaPK implements Serializable {

    @Basic(optional = false)
    @Column(name = "referencia")
    private Long referencia;

    @Basic(optional = false)
    @Column(name = "usuario")
    private String documento;

    @Basic(optional = false)
    @Column(name = "fechaVenta")
    @Temporal(TemporalType.TIMESTAMP)
    private Date fechaVenta;

    public RegistroVentaPK() {
    }

    public RegistroVentaPK(Long referencia, String documento, Date fechaVenta) {
        this.referencia = referencia;
        this.documento = documento;
        this.fechaVenta = fechaVenta;
    }

    /**
     * @return the referencia
     */
    public Long getReferencia() {
        return referencia;
    }

    /**
     * @param referencia the referencia to set
     */
    public void setReferencia(Long referencia) {
        this.referencia = referencia;
    }

    /**
     * @return the usuario
     */
    public String getDocumento() {
        return documento;
    }

    /**
     * @param usuario the usuario to set
     */
    public void setDocumento(String documento) {
        this.documento = documento;
    }

    /**
     * @return the fechaVenta
     */
    public Date getFechaVenta() {
        return fechaVenta;
    }

    /**
     * @param fechaVenta the fechaVenta to set
     */
    public void setFechaVenta(Date fechaVenta) {
        this.fechaVenta = fechaVenta;
    }

    @Override
    public int hashCode() {
        int hash = 0;
        hash += (referencia != null ? referencia.hashCode() : 0);
        hash += (documento != null ? documento.hashCode() : 0);
        hash += (fechaVenta != null ? fechaVenta.hashCode() : 0);
        return hash;
    }

    @Override
    public boolean equals(Object object) {
        // TODO: Warning - this method won't work in the case the id fields are not set
        if (!(object instanceof RegistroVentaPK)) {
            return false;
        }
        RegistroVentaPK other = (RegistroVentaPK) object;
        if ((this.referencia == null && other.referencia != null) || (this.referencia != null && !this.referencia.equals(other.referencia))) {
            return false;
        }
        if ((this.documento == null && other.documento != null) || (this.documento != null && !this.documento.equals(other.documento))) {
            return false;
        }
        if ((this.fechaVenta == null && other.fechaVenta != null) || (this.fechaVenta != null && !this.fechaVenta.equals(other.fechaVenta))) {
            return false;
        }
        return true;
    }

    @Override
    public String toString() {
        return "com.losalpes.catalogo.entities.RegistroVentaPK[referencia=" + referencia + ", usuario=" + documento + ", fechaVenta=" + fechaVenta + "]";
    }

}
